<?php

class PC4_Controlador_APP_CRUD_Arquivos extends PC4_Controlador_APP_CRUD {
	
	protected $secao;
	
	public function init($secao, $modelo = '', $modeloCategoria = '', $formView = 'admin/arquivos', $listaView = '', $editaView = '', $nomeSessao = 'usuarios', $urlLogin = 'admin/login/', $urlProibido = 'admin/main/proibido'){
		$this->secao = $secao;
		if (empty($modelo)) {
			$uploads = array(
				'arquivo' 	=> array(
					'tamMaximo' => 10240,
					'tipos' 	=> array('zip', 'rar', 'csv', 'xls', 'xlsx', 'doc', 'docx', 'pdf', 'ppt', 'pptx', 'gif', 'jpg', 'jpeg', 'png', 'jpe')
				)
			);
			$modelo = new PC4_Crud_Upload_TabelaN(FCPATH .'arquivos', 'arquivos', 'arquivos_categorias', $uploads, $campoCategoria = array('id'=>'idCategoria', 'nome'=>'nomeCategoria'));
		}
		parent::init($modelo, $formView, $listaView, $editaView, $nomeSessao, $urlLogin, $urlProibido);
		$this->layout->addJS('app/admin.substituiArquivo.js');
		$this->layout->addJs('app/admin.ordenacao_arquivos.js');
		$this->layout->addCss('admin.ordenacao_arquivos.css');
		
		//Gera um listbox com as categorias cadastradas
		if(empty($modeloCategoria)){
			$modeloCategoria = new PC4_Crud_Abstrato('arquivos_categorias');
		}
		$rs = $modeloCategoria->oconsulta(array('secao' => $this->secao), 'ordem ASC');
		$this->dados['categorias'] = $rs;
		
		$secoes = array('' =>'Selecione...');
		foreach($rs as $r){
			$secoes[$r->secao][$r->id] = $r->nome;
		}
		$this->dados['secoes'] = $secoes;
		$this->dados['secao'] = $this->secao;
	
	}
	
	public function lista($pagina = 1, $limite = 20){
		$this->db->where("secao = '$this->secao' ORDER BY tb1.ordem ASC, a.ordem ASC");
		return parent::lista($pagina, $limite);
	}
	
	public function trataForm($id = 0){
		$campos = parent::trataForm();
		$campos['slug'] = $this->modelo->slug($campos['nome']);
		$campos['arquivo'] = $_FILES['arquivo'];
		return $campos;
	}
}
?>